package com.jyh.blog.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.jyh.blog.dto.*;
import com.jyh.blog.entity.Article;
import com.jyh.blog.vo.*;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;

/**
 * (Article)表服务接口
 *
 * @author jyh
 * @since 2023-02-01 15:25:22
 */
public interface ArticleService extends IService<Article> {

    PageResult<ArticleBackDTO> articleBackList(ConditionVO conditionVo);

    //添加或修改
    void saveOrUpdateArticle(ArticleVO articleVO);

    //根据id获取文章，后台
    ArticleVO getBackArticleById(String articleId);

    //逻辑删除与恢复
    void logicDelete(DeleteVO deleteVO);

    //物理删除
    void deleteArticle(List<String> idList);

    void changTop(ArticleTopVO articleTopVO);

    void importArticle(MultipartFile file, String type);

    List<String> exportArticle(List<String> idList);

    List<ArticleHomeDTO> articleHomeDTOList();

    ArticleDTO articleDetails(String id);

    ArticlePreviewListDTO articleByCondition(ConditionVO conditionVO);

    void articleLike(String articleId);

    PageResult<ArchiveDTO> archives();

    List<ArticleSearchDTO> articleSearchList(ConditionVO conditionVO);
}

